import React, { Component } from 'react'

class ChildCpns extends Component {

  //1. 通过constructor接收数据
  // constructor(props) {
  //   super()
  //   this.props = props  //这种方式 每次要拿props还要写构造函数 并保留一份
  // }
  
  //2.  因为这个子类叫派生类 它默认的构造方法的实现 就是下面这种 所以可以不写
  // constructor(props) {
    // super(props)   
    //传给父类 让父类保存 通过源码可以看到父类确实是保留了一份 this.props = props
  // }

  render() {
    //从第2种方式取值的时候 实际上这里的this还是 子类的this 因为调用父类保存props的过程中给函数通过call(this, 参数...)绑定了子类的this
    const { name, age, height } = this.props

    return (
      <h2>子组件显示数据：{name + " - " + age + " - " + height } </h2>
    )
  }
}


export default class App extends Component {
  render() {
    return (
      <div>
          <ChildCpns name="yzh" age={18} height="1.88" />
      </div>
    )
  }
}
